/
IExtensibleObject`1.xml
113 lines (104 loc) · 7.19 KB
/
IExtensibleObject`1.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<Type Name="IExtensibleObject<T>" FullName="System.ServiceModel.IExtensibleObject<T>">
<TypeSignature Language="C#" Value="public interface IExtensibleObject<T> where T : IExtensibleObject<T>" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IExtensibleObject`1<(class System.ServiceModel.IExtensibleObject`1<!T>) T>" FrameworkAlternate="dotnet-plat-ext-2.1;dotnet-plat-ext-2.2;dotnet-plat-ext-3.0;dotnet-plat-ext-3.1;dotnet-plat-ext-5.0;dotnet-uwp-10.0;netcore-1.0;netcore-1.1;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;netstandard-2.0" />
<TypeSignature Language="DocId" Value="T:System.ServiceModel.IExtensibleObject`1" />
<TypeSignature Language="VB.NET" Value="Public Interface IExtensibleObject(Of T)" />
<TypeSignature Language="F#" Value="type IExtensibleObject<'T (requires 'T :> IExtensibleObject<'T>)> = interface" />
<TypeSignature Language="C++ CLI" Value="generic <typename T>
 where T : IExtensibleObject<T>public interface class IExtensibleObject" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract beforefieldinit IExtensibleObject`1<(class System.ServiceModel.IExtensibleObject`1<!T>) T>" FrameworkAlternate="net-8.0" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.ServiceModel.Primitives</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.6.0.0</AssemblyVersion>
<AssemblyVersion>4.7.0.0</AssemblyVersion>
<AssemblyVersion>4.9.0.0</AssemblyVersion>
<AssemblyVersion>4.10.0.0</AssemblyVersion>
<AssemblyVersion>4.10.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>6.2.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Private.ServiceModel</AssemblyName>
<AssemblyVersion>4.10.3.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="System.ServiceModel" FromVersion="4.0.0.0" To="System.ServiceModel.Primitives" ToVersion="4.6.0.0" FrameworkAlternate="dotnet-plat-ext-2.1;dotnet-plat-ext-2.2;dotnet-plat-ext-3.0" />
<TypeForwarding From="System.ServiceModel" FromVersion="4.0.0.0" To="System.ServiceModel.Primitives" ToVersion="4.7.0.0" FrameworkAlternate="dotnet-plat-ext-3.1" />
<TypeForwarding From="System.ServiceModel" FromVersion="4.0.0.0" To="System.ServiceModel.Primitives" ToVersion="5.0.0.0" FrameworkAlternate="dotnet-plat-ext-5.0" />
<TypeForwarding From="System.ServiceModel" FromVersion="4.0.0.0" To="System.ServiceModel.Primitives" ToVersion="0.0.0.0" FrameworkAlternate="dotnet-uwp-10.0" />
</TypeForwardingChain>
<TypeParameters>
<TypeParameter Name="T">
<Constraints>
<InterfaceName>System.ServiceModel.IExtensibleObject<T></InterfaceName>
</Constraints>
</TypeParameter>
</TypeParameters>
<Interfaces />
<Docs>
<typeparam name="T">The type of the extension class.</typeparam>
<summary>Enable an object to participate in custom behavior, such as registering for events, or watching state transitions.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Implement <xref:System.ServiceModel.IExtensibleObject%601> to enable aggregation of extensions.
For example, if you are implementing a `TreeNode` class and want to allow external code to add annotations and methods to some instances of `TreeNode`, you can have `TreeNode` implement `IExtensibleObject<TreeNode>`. This enables code that uses `TreeNode` to add objects that implement `IExtensibleObject<TreeNode>` to the <xref:System.ServiceModel.IExtensibleObject%601.Extensions%2A> collection.
There are four extensible objects in Windows Communication Foundation (WCF):
- <xref:System.ServiceModel.ServiceHostBase?displayProperty=nameWithType>
- <xref:System.ServiceModel.InstanceContext?displayProperty=nameWithType>
- <xref:System.ServiceModel.IContextChannel?displayProperty=nameWithType>
- <xref:System.ServiceModel.OperationContext?displayProperty=nameWithType>
For a discussion about how to create extension to work with these objects, see [Extensible Objects](/dotnet/framework/wcf/extending/extensible-objects).
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName="Extensions">
<MemberSignature Language="C#" Value="public System.ServiceModel.IExtensionCollection<T> Extensions { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.IExtensionCollection`1<!T> Extensions" />
<MemberSignature Language="DocId" Value="P:System.ServiceModel.IExtensibleObject`1.Extensions" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Extensions As IExtensionCollection(Of T)" />
<MemberSignature Language="F#" Value="member this.Extensions : System.ServiceModel.IExtensionCollection<'T (requires 'T :> System.ServiceModel.IExtensibleObject<'T>)>" Usage="System.ServiceModel.IExtensibleObject<'T (requires 'T :> System.ServiceModel.IExtensibleObject<'T>)>.Extensions" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::ServiceModel::IExtensionCollection<T> ^ Extensions { System::ServiceModel::IExtensionCollection<T> ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.ServiceModel.Primitives</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.6.0.0</AssemblyVersion>
<AssemblyVersion>4.7.0.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Private.ServiceModel</AssemblyName>
<AssemblyVersion>4.10.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.IExtensionCollection<T></ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a collection of extension objects for this extensible object.</summary>
<value>A <see cref="T:System.ServiceModel.IExtensionCollection`1" /> of extension objects.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>